package com.tedu.api.thread;

/**
 * 包：java.long
 * 什么是线程？
 * Thread线程类是程序执行的最小单位，是程序当中独立运行的一个执行路径！
 * 线程允许程序同时处理多个任务，从而提高效率和响应性
 * <p>
 * 1.线程基本API
 */
public class Thread_info {
    public static void main(String[] args) {
        //主方法---主线程---获取主线程

        //Thread类下静态currentThread() 获取当前正在执行线程对象
        Thread main = Thread.currentThread();
        System.out.println("获取线程对象是:" + main);

        //getName()  返回值是字符串
        //获取线程名称---线程的名字---打印线程名字，，没有名字：Thread-0
        String name = main.getName();
        System.out.println("打印主线程的名称：" + name);

        //getId()    返回值是long
        //获取线程的唯一标识【程序中会出现大量线程，每个线程都有一个唯一的标识（身份证号）】
        long id = main.getId();
        System.out.println("打印主线程的ID：" + id);

        //getPriority()  返回值int
        //获取线程的优先级，线程优先级：1~10之间，默认优先级是5
        //线程优先级越高被优先执行的几率加大
        int priority = main.getPriority();
        System.out.println("线程的优先级：" + priority);

        //isAlive()   返回值是布尔类型  boolean
        //判断线程是否为活动状态【线程是活：true与死：false】
        boolean b = main.isAlive();
        System.out.println("主线程是否活动状态：" + b);

        //isDaemon()     返回值boolean
        //判断当前线程是否是守护线程  true是守护线程   false不是守护线程
        boolean b1 = main.isDaemon();
        System.out.println("主线程是否是守护线程：" + b1);

        //isInterrupted()   返回值boolean   true曾经死过     false没有死过
        //判断线程是否被中断过【判断线程是否曾经死过】
        boolean b2 = main.isInterrupted();
        System.out.println("主线程是否死过：" + b2);

    }
}
